package com.develop.utils;


/**
 * 中文工具类
 */
public final class ChineseUtil {

    /**
     * 判断字符串是否存在中文
     *
     * @param str
     * @return
     */
    public static boolean isChinese(String str) {
        if (str == null || str.isEmpty()) {
            return false; // 空字符串或非空但长度为0的字符串返回false
        }
        for (int i = 0; i < str.length(); i++) {
            char c = str.charAt(i);
            // 检查字符是否在中文字符范围内
            if (isChinese(c)) {
                return true; // 如果发现非中文字符，返回false
            }
        }
        return false; // 所有字符都是中文字符，返回true
    }

    /**
     * 判断单个字符是否为中文字符
     *
     * @param c
     * @return
     */
    private static boolean isChinese(char c) {
        // Unicode范围：基本中文字符（包括扩展A区、扩展B区、扩展C区等）
        // 这里只检查了基本中文字符范围，如果需要包括其他范围，可以添加更多的Unicode范围
        return c >= '\u4e00' && c <= '\u9fa5';
    }

    public static void main(String[] args) {

        String test1 = "你好世界";
        String test2 = "Hello, World!";
        String test3 = "你好World";

        System.out.println(isChinese(test1)); // 输出: true
        System.out.println(isChinese(test2)); // 输出: false
        System.out.println(isChinese(test3)); // 输出: false

    }
}
